package set;

import java.util.TreeSet;

/**
 * Leetcode上，有关集合的问题
 *
 * 804问题：唯一的摩斯密码
 * 26位英文字母对应的符号：".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."
 */
public class SetSolution {

    public int uniqueMorseRepresentations(String[] words){
        String[] codes = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};

        TreeSet<String> treeSet = new TreeSet<String>();


        //将单词转换成字符
        for(String word: words){
            StringBuilder res = new StringBuilder();
            for(int i = 0; i < word.length() ; i++){
                //a作为初始的偏移量
                res.append(codes[word.charAt(i) - 'a']);
            }

            treeSet.add(res.toString());
        }

        return treeSet.size();


    }

}
